/**
 * frontend/src/plugins/element-icons.js
 * 集中管理Element Plus图标的注册，避免在多个组件中重复导入和注册
 */

import * as ElementPlusIconsVue from '@element-plus/icons-vue';

/**
 * 注册所有Element Plus图标
 * @param {Object} app - Vue应用实例
 */
export function registerIcons(app) {
  // 全局注册所有图标
  for (const [key, component] of Object.entries(ElementPlusIconsVue)) {
    app.component(key, component);
  }
}

/**
 * 获取指定的Element Plus图标
 * 该方法仅用于特殊情况，大多数时候直接使用全局注册的图标即可
 * @param {string} name - 图标名称
 * @returns {Object} 图标组件
 */
export function getIcon(name) {
  return ElementPlusIconsVue[name];
}

export default {
  registerIcons,
  getIcon
}; 